package com.example.demo;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController {
    // 用 List 模拟数据库
    private List<User> userList = new ArrayList<>();
    private Integer nextId = 1; // 自增 id 简单模拟
    public UserController() {
        // 初始化两个用户
        userList.add(new User(nextId++, "Alice"));
        userList.add(new User(nextId++, "Bob"));
    }
    // 1）查询所有用户
    @GetMapping
    public List<User> listUsers() {
        return userList;
    }
    // 2）根据 id 查询单个用户
    @GetMapping("/{id}")
    public User getUser(@PathVariable("id") Integer id) {
        for (User user : userList) {
            if (user.getId().equals(id)) {
                return user;
            }
        }
        // 找不到就返回 null（真实项目应该返回 404，这里先简单处理）
        return null;
    }
    // 3）新增用户
    @PostMapping
    public  List<User> createUser(@RequestBody User user) {
        user.setId(nextId++);
        userList.add(user);
        return userList;
    }
    // 4）修改用户
    @PutMapping("/{id}")
    public User updateUser(@PathVariable("id") Integer id,
                           @RequestBody User updatedUser) {
        for (User user : userList) {
            if (user.getId().equals(id)) {
                user.setName(updatedUser.getName());
                return user;
            }
        }
        // 找不到时简单返回 null
        return null;
    }
    // 5）删除用户
    @DeleteMapping("/{id}")
    public String deleteUser(@PathVariable("id") Integer id) {
        Iterator<User> iterator = userList.iterator();
        while (iterator.hasNext()) {
            User user = iterator.next();
            if (user.getId().equals(id)) {
                iterator.remove();
                return "删除成功";
            }
        }
        return "未找到该用户";
    }
}